package net.ibizsys.modelingadv.config.service;

import java.util.List;
import org.springframework.data.domain.Page;

import net.ibizsys.modelingadv.config.dto.pssfstyle.PSSFStyleDTO;
import net.ibizsys.modelingadv.config.dto.pssfstyle.PSSFStyleFilterDTO;
import net.ibizsys.modelingadv.config.dto.pssfstyle.PSSFStyleSimpleDTO;

/**
 * 实体[PSSFSTYLE]服务对象接口
 * 
 * 可通过实体运行时对象[PSSFStyleDERuntime]进行功能扩展
 */
public interface IPSSFStyleService extends net.ibizsys.central.dataentity.service.IDEService<PSSFStyleDTO, PSSFStyleFilterDTO>{

    /**
     * 行为: Create
     */
    String ACTION_CREATE = "Create";
    /**
     * 行为: Update
     */
    String ACTION_UPDATE = "Update";
    /**
     * 行为: Remove
     */
    String ACTION_REMOVE = "Remove";
    /**
     * 行为: Get
     */
    String ACTION_GET = "Get";
    /**
     * 行为: GetDraft
     */
    String ACTION_GETDRAFT = "GetDraft";
    /**
     * 行为: CheckKey
     */
    String ACTION_CHECKKEY = "CheckKey";
    /**
     * 行为: Save
     */
    String ACTION_SAVE = "Save";
    /**
     * 查询: 当前中心文档（公开）
     */
    String DATAQUERY_CURDCDOC = "CurDCDoc";
    /**
     * 查询: 当前中心文档（私有）
     */
    String DATAQUERY_CURDCDOC2 = "CurDCDoc2";
    /**
     * 查询: 当前中心文档（私有、数据上下文）
     */
    String DATAQUERY_CURDCDOC3 = "CurDCDoc3";
    /**
     * 查询: 当前中心文档（私有、用户上下文）
     */
    String DATAQUERY_CURDCDOC4 = "CurDCDoc4";
    /**
     * 查询: 当前中心技术体系（公开）
     */
    String DATAQUERY_CURDCSF = "CurDCSF";
    /**
     * 查询: 当前中心技术体系（私有）
     */
    String DATAQUERY_CURDCSF2 = "CurDCSF2";
    /**
     * 查询: 当前中心技术体系（私有、数据上下文）
     */
    String DATAQUERY_CURDCSF3 = "CurDCSF3";
    /**
     * 查询: 当前中心技术体系（私有、用户上下文）
     */
    String DATAQUERY_CURDCSF4 = "CurDCSF4";
    /**
     * 查询: 当前技术体系
     */
    String DATAQUERY_CURSF = "CurSF";
    /**
     * 查询: 数据查询
     */
    String DATAQUERY_DEFAULT = "DEFAULT";
    /**
     * 查询: 基础属性查询
     */
    String DATAQUERY_SIMPLE = "SIMPLE";
    /**
     * 查询: 默认（全部数据）
     */
    String DATAQUERY_VIEW = "VIEW";
    /**
     * 集合: 当前中心全部文档
     */
    String DATASET_CURDCDOCALL = "CurDCDocAll";
    /**
     * 集合: 当前中心全部
     */
    String DATASET_CURDCSFALL = "CurDCSFAll";
    /**
     * 集合: 数据集
     */
    String DATASET_DEFAULT = "DEFAULT";

    /**
     * 行为: Create
     *
     */
    void create(PSSFStyleDTO dto) throws Throwable;
    /**
     * 行为: Update
     *
     */
    void update(PSSFStyleDTO dto) throws Throwable;
    /**
     * 行为: Remove
     *
     */
    void remove(List<String> keys) throws Throwable;
    /**
     * 行为: Get
     *
     */
    PSSFStyleDTO get(String key) throws Throwable;
    /**
     * 行为: GetDraft
     *
     */
    PSSFStyleDTO getDraft(PSSFStyleDTO dto) throws Throwable;
    /**
     * 行为: CheckKey
     *
     */
    Integer checkKey(PSSFStyleDTO dto) throws Throwable;
    /**
     * 行为: Save
     *
     */
    void save(PSSFStyleDTO dto) throws Throwable;

    /**
     * 集合: 当前中心全部文档
     *
     */
    Page<PSSFStyleDTO> fetchCurDCDocAll(PSSFStyleFilterDTO dto) throws Throwable; 
    /**
     * 集合: 当前中心全部
     *
     */
    Page<PSSFStyleDTO> fetchCurDCSFAll(PSSFStyleFilterDTO dto) throws Throwable; 
    /**
     * 集合: 数据集
     *
     */
    Page<PSSFStyleDTO> fetchDefault(PSSFStyleFilterDTO dto) throws Throwable; 
}
